A virtual machine or a “VM” generally refers to a specific software-based implementation of a machine in a virtualized computing environment, in which the hardware resources of a real computer (e.g., CPU, memory, etc.) are virtualized or transformed into underlying support for the virtual machine that can run its own operating system and applications on the underlying physical resources just like a physical computer.
Virtualization generally works by inserting a thin layer of software directly on the computer hardware or on a host operating system. This layer of software contains a virtual machine monitor or “hypervisor” that allocates hardware resources dynamically and transparently. Many different types of hypervisors exist, such as ESX(i), Hyper-V, XenServer, etc.
Many instances of a particular process may be executing in a distributed system, with instances of the process executing on multiple computing nodes of the distributed system. One of the instances of the process in the distributed system may be selected as a leadership process, to perform certain functions utilized by other instances of the process. Generally, the instance of the particular process serving as the leadership process may utilize a greater amount of memory than when not operating as a leadership process.